Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Troyes Challenger Wimbledon - London Augsburg Challenger U.S. Open - New York Chengdu Open - Chengdu Astana Open - Astana Shanghai Rolex Masters - Shanghai Rakuten Japan Open - Tokyo Shenzhen 2 Challenger Calgary Challenger Matsuyama Challenger Sydney Challenger United Cup - Australia Hong Kong Tennis Open - Hong Kong ASB Classic - Auckland Nonthaburi 2 Challenger Australian Open - Melbourne Tenerife 2 Challenger Dallas Open - Dallas Delray Beach Open - Delray Beach Ottignies-Louvain-la-Neuve Challenger Glasgow Challenger Koblenz Challenger Mifel Tennis Open - Los Cabos BNP Paribas Open - Indian Wells Olympics - Paris Internazionali BNL d'Italia - Rome Miami Open - Miami Mutua Madrid Open - Madrid Barletta Challenger Madrid Challenger National Bank Open - Montreal Open Parc - Lyon French Open - Paris Wimbledon - London Salzburg Challenger M25 Roda de Bara Western & Southern Open - Cincinnati U.S. Open - New York Winston-Salem Open - Winston-Salem Rennes Challenger Cassis Challenger St. Tropez Challenger Japan Open Tennis Championships - Tokyo Chengdu Open - Chengdu Shanghai Rolex Masters - Shanghai Villena Challenger Seoul Challenger Kobe Challenger Dallas Open - Dallas National Bank Open - Toronto Phoenix Challenger BNP Paribas Open - Indian Wells Mauthausen Challenger Delray Beach Open - Delray Beach Canberra Challenger Adelaide International - Adelaide Australian Open - Melbourne Sassuolo Challenger Miami Open - Miami Savannah Challenger M25 Reus Iasi Challenger Internazionali BNL d'Italia - Rome French Open - Paris Heilbronn Challenger Wimbledon - London Mifel Tennis Open - Los Cabos Citi Open - Washington National Bank Open - Toronto U.S. Open - New York Shanghai Rolex Masters - Shanghai Chengdu Open - Chengdu Almaty Open - Almaty Spain F39 Spain F42 Spain F8 Spain F10 Spain F11 Spain F14 Spain F18 Spain F20 Spain F27 Spain F29 Spain F34 Spain F36 Spain F37 Spain F38 Spain F39 Spain F40 Spain F42 Spain F43 Spain F1 Spain F2 Spain F5 Spain F7 Spain F8 Spain F10 Spain F11 Spain F13 Spain F14 Spain F15 Spain F16 Spain F17 Spain F20 Spain F23 Spain F28 Spain F32 Spain F34 Spain F33 Spain F35 Spain F36 Spain F37 Spain F2 Spain F3 Spain F4 Spain F5 Portugal F3 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Spain F16 Spain F17 Slovenia F2 Slovenia F3 Spain F23 Spain F16 Spain F19 Canada F5 Italy F22 Spain F32 Portugal F9 Brazil F12 Spain F9 Spain F16 Spain F17 Tunisia F6 Tunisia F7 Spain F17 Morocco F3 Spain F22 Spain F18 Spain F26 Spain F28 Spain F30 Belgium F3 Spain F32 Spain F34 Canada F4 Spain F35 Canada F5 Spain F37 Spain F38 Spain F39 Spain F1 Israel F1 Spain F2 Israel F2 Israel F3 Spain F3 Spain F5 Spain F6 Portugal F1 Portugal F2 Spain F8 Spain F9 Spain F10 Spain F11 Brazil F9 Brazil F10 Brazil F11 Spain F13 Brazil F12 Spain F14 Spain F15 Spain F16 Spain F17 Spain F20 Morocco F4 Spain F21 Spain F22 Romania F4 Spain F24 Spain F25 Canada F3 Spain F26 Canada F4 Spain F27 Spain F29 Spain F30 Spain F32 Spain F35 Spain F36 Spain F37 Spain F38 Spain F39 Spain F41 Turkey F1 Turkey F2 Turkey F3 Spain F1 Spain F2 Spain F3 Spain F4 Spain F5 Spain F6 Croatia F5 Croatia F6 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Poland F1 Italy F11 Spain F15 Spain F16 Belgium F1 Netherlands F4 Spain F20 Spain F21 Spain F22 Italy F22 Spain F32 Algeria F1 USA F28 Algeria F2 Algeria F3 USA F1 USA F2 USA F3 Russia F8 Spain F1 Spain F2 Spain F3 Spain F4 Spain F6 Croatia F5 Spain F7 Croatia F6 Spain F8 Spain F9 Spain F13 Spain F14 Spain F19 Spain F21 Spain F22 Spain F23 Italy F22 Switzerland F3 Switzerland F4 Switzerland F5 Spain F28 Spain F31 Spain F32 Greece F8 Greece F9 Greece F11 Cyprus F2 Cyprus F3 Spain F1 Spain F2 Spain F3 Spain F4 Spain F5 Spain F6 Morocco F2 Morocco F3 Spain F7 Spain F31 (Sabadell) Spain F32 (Melilla) Tunisia F31 (Hammamet) Tunisia F32 (Hammamet) Tunisia F36 (Hammamet) China F2 (Anning) China F3 (Anning) Portugal F3 (Loule) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Spain F9 (Madrid) Spain F10 (Majadahonda) Canada F3 (Calgary) Canada F4 (Kelowna) Switzerland F3 (Sion) Tunisia F39 (Monastir) Tunisia F40 (Monastir) Tunisia F43 (Monastir) Tunisia F44 (Monastir) Tunisia F45 (Monastir) M25 Antalya M25 Sierre M25+H Bagneres-de-Bigorre M25 Girona M25 Antalya M25 Torello M25 Valldoreix M15 Torello M25 Glasgow M25 Vic M15 Ceuta M25 Les Franqueses del Valles Generali Open - Kitzbuhel Pozoblanco Challenger Seville Challenger Pozoblanco Challenger Vancouver Challenger Kosice Challenger Pozoblanco Challenger San Benedetto Challenger Granby Challenger Vancouver Challenger Marrakech Challenger San Luis Potosi Challenger Pereira Challenger Kosice Challenger Milan Challenger San Benedetto Challenger Bercuit Challenger Vancouver Challenger Karshi Challenger Segovia Challenger Alphen Challenger Brasov Challenger Seville Challenger Szczecin Challenger Trnava Challenger Lermontov Challenger Sacramento Challenger Tiburon Challenger Charlottesville Challenger M15 Torello Yokohama Challenger Marbella Challenger Noumea Challenger Salinas Challenger Santiago Challenger Itajai Challenger Panama City Challenger Savannah Challenger Ostrava Challenger Tallahassee Challenger Furth Challenger Milan Challenger San Benedetto Challenger Granby Challenger Guimaraes Challenger Vancouver Challenger San Marino Challenger Cordenons Challenger Como Challenger Brasov Challenger Meknes Challenger Szczecin Challenger Kenitra Challenger Sibiu Challenger M25 Badalona Buenos Aires Challenger Seoul Challenger Casablanca Challenger Yeongwol Challenger M25 Sabadell Lima Challenger Yokohama Challenger Noumea Challenger Heilbronn Challenger Chitre Challenger Chennai Challenger New Delhi Challenger Granby Challenger Cherbourg Challenger Barranquilla Challenger Mersin Challenger Sarasota Challenger Ostrava Challenger Rome Challenger Mestre Challenger Furth Challenger Caltanissetta Challenger Prague Challenger Padova Challenger Todi Challenger Scheveningen Challenger Portoroz Challenger Granby Challenger Poznan Challenger Vancouver Challenger Aptos Challenger Meerbusch Challenger Como Challenger Alphen Challenger Seville Challenger Meknes Challenger Charlottesville Challenger Knoxville Challenger Todi Challenger Cherbourg Challenger Quimper Challenger Mersin Challenger Vercelli Challenger Rome Challenger Furth Challenger Prague Challenger Marburg Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Vancouver Challenger Barranquilla Challenger Kenitra Challenger Sibiu Challenger Trnava Challenger Rome Challenger Casablanca Challenger Kobe Challenger Yokohama Challenger Canberra Challenger Guangzhou Challenger Shenzhen Challenger Turin Challenger Karshi Challenger Bordeaux Challenger Samarkand Challenger Mestre Challenger Furth Challenger Lyon Challenger Moscow Challenger Blois Challenger Braunschweig Challenger Todi Challenger Prague Challenger Trnava Challenger Cordenons Challenger Meerbusch Challenger Manerbio Challenger Barranquilla Challenger Como Challenger Seville Challenger Recanati Challenger Lexington Challenger Meknes Challenger Kenitra Challenger Rome Challenger Mohammedia Challenger Seville Challenger Ho Chi Minh City Challenger Brest Challenger Budapest Challenger Sao Jose Do Rio Preto Challenger Kobe Challenger M25 Sabadell Rennes Challenger Maui Challenger Quimper Challenger Cherbourg Challenger Santiago Challenger Shenzhen Challenger Buenos Aires Challenger Quanzhou Challenger Panama City Challenger Heilbronn Challenger Lisbon Challenger Braunschweig Challenger Winnipeg Challenger Scheveningen Challenger Segovia Challenger Vancouver Challenger Meerbusch Challenger Manerbio Challenger Como Challenger Seville Challenger Shanghai Challenger Gwangju Challenger Ningboo Challenger Traralgon Challenger Canberra Challenger Santos Challenger Kobe Challenger Toyota Challenger Kolkata Challenger Bangkok Challenger Burnie Challenger Launceston Challenger Morelos Challenger Sarasota Challenger Aix En Provence Challenger Bordeaux Challenger Lisbon Challenger Poznan Challenger Shymkent Challenger Almaty Challenger Liberec Challenger Pullach Challenger Cordenons Challenger Zhangjiagang Challenger Shanghai Challenger Columbus Challenger Tiburon Challenger Stockton Challenger Fairfield Challenger Calgary Challenger Burnie Challenger Launceston Challenger Budapest Challenger Morelos Challenger Phoenix Challenger Drummondville Challenger Marbella Challenger Ostrava Challenger Aix En Provence Challenger Lisbon Challenger Almaty Challenger Shymkent Challenger Blois Challenger Parma Challenger Milan Challenger Braunschweig Challenger Granby Challenger Aptos Challenger Jinan Challenger Genova Challenger Szczecin Challenger Shanghai Challenger Kaohsiung Challenger Biella Challenger Barcelona Challenger Mouilleron-Le-Captif Challenger Fairfield Challenger Ningboo Challenger Las Vegas Challenger Liuzhou Challenger Shenzhen Challenger Charlottesville Challenger Knoxville Challenger Pune Challenger Canberra Challenger Burnie Challenger Launceston Challenger Indian Wells Challenger Monterrey Challenger Prague Challenger Prague II Challenger Ostrava Challenger Prostejov Challenger Parma Challenger Alicante Challenger Istanbul Challenger Hamburg Challenger Marbella Challenger Bratislava Challenger Biella 2 Challenger Gran Canaria 1 Challenger Nur-Sultan 2 Challenger Gran Canaria 2 Challenger Marbella Challenger Belgrade Challenger Split 2 Challenger Rome 1 Challenger Rome 2 Challenger Heilbronn Challenger Oeiras 3 Challenger Biella 7 Challenger Lyon Challenger Bratislava Challenger Forli Challenger Porto Challenger Salzburg-Anif Challenger Braunschweig Challenger Mallorca Challenger Szczecin Challenger Braga Challenger Lisbon Challenger Genova Challenger Charlottesville Challenger Roanne Challenger Pau Challenger Suzhou Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Concepcion 2 Challenger Santa Cruz de la Sierra 2 Challenger Szczecin Challenger Pereira Challenger Aguascalientes Challenger Morelos Challenger Bordeaux Challenger Zhuhai Challenger Troisdorf Challenger Forli 6 Challenger Poznan Challenger Lyon Challenger Oeiras 3 Challenger Malaga Challenger Braunschweig Challenger Porto Challenger Amersfoort Challenger Lexington Challenger Rome Challenger Grodzisk Mazowiecki Challenger Vicenza Challenger Rennes Challenger Sibiu Challenger Gatineau Challenger Granby Challenger Alicante Challenger St. Tropez Challenger Sibiu Challenger Maspalomas Challenger Oeiras 2 Challenger Tenerife 1 Challenger Tenerife 2 Challenger Tenerife 3 Challenger Monterrey Challenger Antalya Challenger Szekesfehervar Challenger Las Franquesas del Valles Challenger Girona Challenger Barletta Challenger Madrid Challenger Oeiras 3 Challenger Cagliari Challenger Bordeaux Challenger Turin Challenger Skopje Challenger Tyler Challenger Shenzhen 1 Challenger Szczecin Challenger Tenerife 2 Challenger Las Vegas Challenger Maia 1 Challenger Braunschweig Challenger Amersfoort Challenger Porto Challenger Jinan Challenger Olympics - Tokyo Tulln Challenger Maspalomas Challenger Taipei 2 Challenger Playford Challenger Drummondville Challenger Nottingham Challenger Tallahassee Challenger Bordeaux Challenger Pozoblanco Challenger Girona Challenger Bordeaux Challenger Perugia Challenger Guangzhou Challenger Palmas del Mar Challenger Sibiu Challenger Valencia Challenger San Diego Challenger Hamburg Challenger Girona Challenger Cagliari Challenger Olbia Challenger Roanne Challenger Segovia Challenger Open SEAT 2008 - Barcelona Open Sabadell Atlantico - Barcelona VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Barcelona Open BancSabadell - Barcelona Qatar ExxonMobil Open - Doha Royal Guard Open Chile - Vina del Mar Copa Claro - Buenos Aires Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras BB&T Atlanta Open - Atlanta Citi Open - Washington Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Brisbane International - Brisbane Open Sud de France - Montpellier Open 13 - Marseille Grand Prix Hassan II - Casablanca Bet-at-home Open - Hamburg Valencia Open - Valencia Aircel Chennai Open - Chennai Open Sud de France - Montpellier Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech BRD Nastase Tiriac Trophy - Bucharest Millennium Estoril Open - Estoril Bet-at-home Open - Hamburg SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Rakuten Japan Open - Tokyo Aircel Chennai Open - Chennai Qatar ExxonMobil Open - Doha ASB Classic - Auckland Garanti Koza Sofia Open - Sofia Rio Open - Rio de Janeiro Open 13 - Marseille Brasil Open - Sao Paulo US Men's Clay Court Championship - Houston Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul AEGON International - Eastbourne Suisse Open - Gstaad Abierto Mexicano - Los Cabos Rakuten Japan Open - Tokyo ASB Classic - Auckland New York Open - New York Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco TEB BNP Paribas Istanbul Open - Istanbul Open Parc - Lyon Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Brisbane International - Brisbane Sydney International - Sydney Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Geneva Open - Geneva Open Parc - Lyon Nature Valley International - Eastbourne SkiStar Swedish Open - Bastad Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Abierto Mexicano de Tenis Mifel - Los Cabos Rakuten Japan Open - Tokyo Tata Open Maharashtra - Pune ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Forte Village Sardegna Open - Sardinia Sofia Open - Sofia Murray River Open - Melbourne Serbia Open - Belgrade BMW Open - Munich Swiss Open - Gstaad Anytech365 Andalucia Open - Marbella Adelaide International 1 - Adelaide Dubai Duty Free Tennis Championships - Dubai US Men's Clay Court Championship - Houston Serbia Open - Belgrade Open Parc - Lyon cinch Championships - London Mallorca Championships - Mallorca Truist Atlanta Open - Atlanta Citi Open - Washington Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel San Diego Open - San Diego Korea Open - Seoul Tennis Napoli Open - Naples Adelaide International 1 - Adelaide ASB Classic - Auckland Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Banja Luka Open - Banja Luka US Men's Clay Court Championship - Houston Nordea Open - Bastad Almaty Open - Almaty Argentina Open - Buenos Aires Open 13 Provence - Marseille Hamburg European Open - Hamburg Nordea Open - Bastad Singapore Tennis Open - Singapore Qatar ExxonMobil Open - Doha EFG Swiss Open - Gstaad BMW Open - Munich cinch Championships - London Mallorca Championships - Mallorca cinch Championships - London Mallorca Championships - Mallorca US Men's Clay Court Championship - Houston Plava Laguna Croatia Open - Umag Abierto Mexicano Telcel - Acapulco Rogers Cup - Toronto Rogers Cup - Montreal Rogers Cup - Montreal BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Rogers Cup - Toronto BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Rogers Cup - Toronto Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Rogers Cup - Toronto BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo National Bank Open - Montreal Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Cincinnati Open - Cincinnati Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group 1, 1R, COL-CAN 4-1 Davis Cup, World Group, QF, JPN-CZE 0-5 Davis Cup, World Group, PO, COL-JPN 2-3 Davis Cup, World Group, 1R, GBR-JPN 3-1 Davis Cup, World Group, PO, JPN-UKR 5-0 Davis Cup, World Group, 1R, JPN-FRA 1-4 Citi Open - Washington Davis Cup, World Group, 1R, JPN-ITA 1-3 Davis Cup, World Group, PO, JPN-BIH 4-0 Davis Cup, World Group, QR, CHN-JPN 2-3 Davis Cup, Finals, Group B Davis Cup, Qualifiers, 1R, NED-CAN 4-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments Mutua Madrid Open - Madrid Olympics - Rio de Janeiro Davis Cup, Group I, PO, JPN-POL 4-0